<template>
    <li
        @mouseenter="hover"
        @mouseleave="hover"
        :style="{ background: isShow ? '#eee' : '#fff' }"
    >
        <label>
            <input :checked="done" type="checkbox" @change="changeDone(id)" />
            <span>{{ hero }}</span>
        </label>
        <button
            class="btn btn-danger"
            :style="{ display: isShow ? 'block' : 'none' }"
            @click="deleteTodo(id)"
        >
            删除
        </button>
    </li>
</template>

<script>
export default {
    name: "Item",
    props: ["id", "hero", "done", "deleteTodo", "changeDone"],
    data() {
        return {
            isShow: false,
        };
    },
    methods: {
        hover() {
            this.isShow = !this.isShow;
        },
    },
};
</script>

<style>
li {
    list-style: none;
    height: 36px;
    line-height: 36px;
    padding: 0 5px;
    border-bottom: 1px solid #ddd;
}

li label {
    float: left;
    cursor: pointer;
}

li label li input {
    vertical-align: middle;
    margin-right: 6px;
    position: relative;
    top: -1px;
}

li button {
    float: right;
    display: none;
    margin-top: 3px;
}

li:before {
    content: initial;
}

li:last-child {
    border-bottom: none;
}
</style>
